home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / clang / nn.zip / NNQUERY.SH < prev    next >
Text File  |  1989-12-29  |  1KB  |  88 lines

  1. # CONFIG file is insert above this line by make
  2.  
  3. if [ ! -f ${ACTIVE} ] ; then
  4.     echo "Cannot locate active file ${ACTIVE}"
  5.     exit 3
  6. fi
  7.  
  8. OUTAGED=30
  9. READERS=/tmp/nnq$$q
  10. DIRS=/tmp/nnq$$d
  11. echo > $DIRS
  12.  
  13. {
  14. sort ${ACTIVE}
  15.  
  16. awk -F: '{print "%s %s\n", $1, $6}' /etc/passwd |
  17. while read user homedir
  18. do
  19.   if [ -f $homedir/.nn/rc ] ; then
  20.     if [ -n "`grep '^'$homedir'$' $DIRS`" ] ; then
  21.       :
  22.     else
  23.       echo $homedir >> $DIRS
  24.       if [ -n "`find $homedir/.nn -name rc -mtime -$OUTAGED -print`" ] ; then
  25.         echo $user >> $READERS
  26.         echo USER $user
  27.         cat $homedir/.nn/rc
  28.       fi
  29.     fi
  30.   fi
  31. done
  32. } |
  33.  
  34. awk '
  35. BEGIN {
  36.     a=1
  37.     g=0
  38. }
  39.  
  40. $1 == "USER" {
  41.     a = 0
  42.     user = " " $2
  43.     next
  44. }
  45.  
  46. a == 1 {
  47.     g++
  48.     group[$1] = g
  49.     name[g] = $1
  50. #    if ($2 == $3) last[g] = 0; else last[g] = $2+0
  51.     sub[g] = 0
  52.     users[g] = ""
  53.     next
  54. }        
  55.  
  56. $1 == "!" {
  57.     next
  58. }
  59.  
  60. $1 == "+" {
  61.     n = group[$3]
  62. #    if ( last[n] == 0 ) next
  63. #    if ( ($2+200) < last[n] ) next
  64.     sub[n]++;
  65.     users[n] = users[n] user
  66.     next
  67. }
  68.  
  69. {
  70.     next
  71. }
  72.  
  73. END {
  74.     for (n = 1; n <= g; n++) {
  75.         printf "%5d %s\t%s\n", sub[n], name[n], users[n]
  76.     }
  77. }' |
  78.  
  79. if [ "$1" = "-s" ] ; then
  80.     grep -v "^[     ]*0"
  81. elif [ "$1" = "-u" ] ; then
  82.     grep "^[     ]*0"
  83. else
  84.     cat
  85. fi
  86.  
  87. rm -f $READERS $DIRS
  88.